Public clouds are increasingly being utilized to meet the information technology needs of individuals, business enterprises and other users. Such public clouds may be shared by a very large number of users, and therefore performance can be highly unpredictable. For example, performance of a given public cloud may vary significantly from user to user and also from processing job to processing job for a given user, based on a variety of factors that are usually not readily apparent to the users. Moreover, users often have multiple options in terms of the particular public clouds to utilize for different processing jobs, but no reliable mechanism is available to assess the relative advantages of these public clouds as applied to a particular processing job.
Even though data may be available within a cloud-based information processing system that could assist users in assessing public cloud performance, such data is often in large part kept confidential by the corresponding cloud service provider, and therefore is typically limited to use by internal information technology administrators and other personnel of the cloud service provider.
By way of example, a virtual machine (VM) run on a particular public cloud may have significantly different performance characteristics than a different VM run on the same public cloud or on another public cloud, even when the cost of running both VMs is the same. Distinct underlying hardware differences, contention and other phenomena can result in vastly differing performance across supposedly equivalent instances of the VM. As a result, there is striking variability in the resources received for the same price.
A need therefore exists for improved techniques for user interaction with public clouds and other cloud-based processing systems.